package gob.pgr.parser;

import java.io.File;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.apache.commons.lang.StringUtils;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class SaxParser {

	public static void parse(File file) throws Exception {
		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
		SAXParser saxParser = saxParserFactory.newSAXParser();
		saxParser.parse(file, new SaxHandler());
	}
	
}

class SaxHandler extends DefaultHandler {
	boolean nombre = false;
	boolean posicion = false;
	boolean jugadorEstrella = false;

	@Override
	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
		System.out.println("Procesando Elemento: " + qName);
		if (StringUtils.equalsIgnoreCase("nombre", qName)) nombre = true;
		if (StringUtils.equalsIgnoreCase("posicion", qName)) posicion = true;
		if (StringUtils.equalsIgnoreCase("jugadorEstrella", qName)) jugadorEstrella = true;
	}

	@Override
	public void endElement(String uri, String localName, String qName) throws SAXException {
		System.out.println("Finalizando Elemento: " + qName);
	}

	@Override
	public void characters(char[] ch, int start, int length) throws SAXException {
		if (nombre) {
			System.out.println("Nombre de Equipo: " + new String(ch, start, length));
			nombre = !nombre;
		}
		if (posicion) {
			System.out.println("Posicion de Equipo: " + new String(ch, start, length));
			posicion = !posicion;
		}
		if (jugadorEstrella) {
			System.out.println("Jugador Estrella de Equipo: " + new String(ch, start, length));
			jugadorEstrella = !jugadorEstrella;
		}
	}

}
